QuickOPC User's Guide and Reference
WaitForMultiple(IEasyUAClient,IReadOnlyList<ValueTuple<UAMonitoredItemArguments,Func<UAAttributeDataResult,Boolean>>>,Int32) Method



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Extensions Namespace > IEasyUAClientExtension2 Class > WaitForMultiple Method : WaitForMultiple(IEasyUAClient,IReadOnlyList<ValueTuple<UAMonitoredItemArguments,Func<UAAttributeDataResult,Boolean>>>,Int32) Method
The client object that will perform the operation.
List of tuples, where each tuple consists of OPC-UA monitored item arguments, and a predicate on OpcLabs.EasyOpc.UA.OperationModel.UAAttributeDataResult determining when the wait is complete.
The number of milliseconds to wait, or System.Threading.Timeout.Infinite to wait indefinitely.
Subscribes to the specified nodes&attributes, and monitors their data until the predicates specified for each item become true, or the alloted time elapses.
Syntax
'Declaration
 
<ExtensionAttribute()>
<ElementsNotNullAttribute()>
<NotNullAttribute()>
Public Overloads Shared Function WaitForMultiple( _
   ByVal client As IEasyUAClient, _
   ByVal argumentsAndExitPredicateList As IReadOnlyList(Of ValueTuple(Of UAMonitoredItemArguments,Func(Of UAAttributeDataResult,Boolean))), _
   ByVal millisecondsTimeout As Integer _
) As UAAttributeDataResult()
'Usage
 
Dim client As IEasyUAClient
Dim argumentsAndExitPredicateList As IReadOnlyList(Of ValueTuple(Of UAMonitoredItemArguments,Func(Of UAAttributeDataResult,Boolean)))
Dim millisecondsTimeout As Integer
Dim value() As UAAttributeDataResult
 
value = IEasyUAClientExtension2.WaitForMultiple(client, argumentsAndExitPredicateList, millisecondsTimeout)

Parameters

client
The client object that will perform the operation.
argumentsAndExitPredicateList
List of tuples, where each tuple consists of OPC-UA monitored item arguments, and a predicate on OpcLabs.EasyOpc.UA.OperationModel.UAAttributeDataResult determining when the wait is complete.
millisecondsTimeout
The number of milliseconds to wait, or System.Threading.Timeout.Infinite to wait indefinitely.

Return Value

The function returns an array of OpcLabs.EasyOpc.UA.OperationModel.UAAttributeDataResult objects. The indices of elements in the output array are the same as those in the input list, argumentsAndExitPredicateList.
Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

The value of an argument is outside the allowable range of values as defined by the invoked method.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also